package com.xdcplus.web.service;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.CraftCheckOrderTarget;
import com.xdcplus.web.common.pojo.dto.CraftCheckOrderTargetDTO;
import com.xdcplus.web.common.pojo.dto.CraftCheckOrderTargetFilterDTO;
import com.xdcplus.web.common.pojo.vo.CraftCheckOrderTargetVO;

import java.util.List;


/**
 * 点检工单明细表(CraftCheckOrderTarget)表服务接口层
 *
 * @author Man.Chen
 * @since 2024-12-03 17:43:56
 */
public interface CraftCheckOrderTargetService extends BaseService<CraftCheckOrderTarget, CraftCheckOrderTarget, CraftCheckOrderTargetVO> {

    /**
     * 添加点检工单明细表(CraftCheckOrderTarget)
     *
     * @param craftCheckOrderTargetDTO 点检工单明细表(CraftCheckOrderTargetDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveCraftCheckOrderTarget(CraftCheckOrderTargetDTO craftCheckOrderTargetDTO);

    /**
     * 修改点检工单明细表(CraftCheckOrderTarget)
     *
     * @param craftCheckOrderTargetDTO 点检工单明细表(CraftCheckOrderTargetDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean updateCraftCheckOrderTarget(CraftCheckOrderTargetDTO craftCheckOrderTargetDTO);

    /**
     * 批量保存或更新点检工单明细表(CraftCheckOrderTarget)
     *
     * @param craftCheckOrderTargetList 点检工单明细表(CraftCheckOrderTargetList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<CraftCheckOrderTarget> craftCheckOrderTargetList);

    /**
     * 批量保存或更新点检工单明细表(CraftCheckOrderTargetDTOList)
     *
     * @param craftCheckOrderTargetDTOList 点检工单明细表(CraftCheckOrderTargetDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<CraftCheckOrderTargetDTO> craftCheckOrderTargetDTOList);

    /**
     * 删除点检工单明细表(CraftCheckOrderTarget)
     *
     * @param id 点检工单明细表(CraftCheckOrderTarget)主键
     * @return {@link Boolean} 是否成功
     */
    Boolean deleteCraftCheckOrderTargetLogical(Long id);
    
    Boolean deleteCraftCheckOrderTargetByIds(String ids);

    /**
     * 查询点检工单明细表(CraftCheckOrderTarget)
     *
     * @param craftCheckOrderTargetFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<CraftCheckOrderTargetVO>} 状态信息
     */
    List<CraftCheckOrderTargetVO> queryCraftCheckOrderTargetVOList(CraftCheckOrderTargetFilterDTO craftCheckOrderTargetFilterDTO);

    /**
     * 查询点检工单明细表(CraftCheckOrderTarget)
     *
     * @param craftCheckOrderTargetFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<CraftCheckOrderTargetVO>} 状态信息
     */
    PageVO<CraftCheckOrderTargetVO> queryCraftCheckOrderTarget(CraftCheckOrderTargetFilterDTO craftCheckOrderTargetFilterDTO);

    /**
     * 查询一个
     *
     * @param id 点检工单明细表(CraftCheckOrderTarget)主键
     * @return {@link CraftCheckOrderTargetVO} 点检工单明细表(CraftCheckOrderTarget)信息
     */
    CraftCheckOrderTargetVO queryCraftCheckOrderTargetById(Long id);
}
